//package com.CST;
//
//import com.CST.common.BaseEntity;
//
//import org.apache.ibatis.annotations.Mapper;
//
//
//import java.util.*;
//
///**
// * 代码生成器
// *
// * @author qtx
// * @since 2022/10/27 21:22
// */
//public class Generator {
//
//    private static final DataSourceConfig.Builder DATA_SOURCE_CONFIG =
//            new DataSourceConfig.Builder("jdbc:sqlserver://172.16.2.41;DatabaseName=dataplatform", "sa", "cbhs@123");
//
//    private static final DataSourceConfig.Builder DATA_SOURCE_CONFIG_LOCAL =
//            new DataSourceConfig.Builder("jdbc:sqlserver://192.168.77.130;DatabaseName=CST", "sa", "qtxQTX0820");
//
//    public static void main(String[] args) {
//        String packageName = "cb";
//        String mapperName = "cst";
//        String projectPath = System.getProperty("user.dir");
//        FastAutoGenerator.create(DATA_SOURCE_CONFIG)
//                // 全局配置
//                .globalConfig(
//                        (scanner, builder) ->
//                                builder
//                                        .author("nmx")
//                                        .outputDir(projectPath + "/SRC/main/java")
//                                        .enableSwagger()
//                                        .disableOpenDir())
//                // 包配置
//                .packageConfig(
//                        (scanner, builder) ->
//                                builder
//                                        .parent("com.CST")
//                                        .entity("entity." + packageName)
//                                        .service("service." + packageName)
//                                        .serviceImpl("service.impl." + packageName)
//                                        .mapper("mapper." + mapperName + "." + packageName)
//                                        .xml("mapper." + mapperName)
//                                        .controller("controller." + packageName)
//                                        .pathInfo(Collections.singletonMap(OutputFile.xml,
//                                                projectPath + "/SRC/main/resources/mapper/" + mapperName)))
//                // 策略配置
//                .strategyConfig(
//                        (scanner, builder) ->
//                                builder
//                                        .addInclude(
//                                                getTables(scanner.apply("请输入表名，多个英文逗号分隔？所有输入 all")))
//                                        .controllerBuilder()
//                                        .enableRestStyle()
//                                        .serviceBuilder()
//                                        .formatServiceFileName("%sService")
//                                        .entityBuilder()
//                                        .enableLombok()
//                                        .superClass(BaseEntity.class)
//                                        .enableTableFieldAnnotation()
//                                        .enableRemoveIsPrefix()
//                                        .addSuperEntityColumns(
//                                                "delete_flag", "create_by", "create_time", "update_by", "update_time")
//                                        .mapperBuilder()
//                                        .mapperAnnotation(Mapper.class)
//                                        .build())
//                .execute();
//    }
//
//    /**
//     * 处理 all 情况
//     */
//    protected static List<String> getTables(String tables) {
//        return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
//    }
//}
